package com.kazusa.myservlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

/*
* 1.当前服务器如何项目任意资源都可以获取cookie对象
* 2.当前项目下的资源可获取cookie对象（默认不设置cookie的path属性）
* 默认不设置cookie的path或者设置为当前站点名
* 3，指定目录下的资源可获取cookie对象
* 4.指定项目下的资源可获取cookie对象
*
* 总结只有访问路径中包含Cookie的path值，才可以获取到cookie对象
* */
@WebServlet("/cookiePath")
public class CookiePath extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*当前服务器下任何项目的任何资源都可以获取cookie对象*/
        Cookie cookie1=new Cookie("cookie1","value1");
        /*设置路径为“/”，表示在当前服务器下任何项目都可以访问到cookie对象*/
        cookie1.setPath("/");
        response.addCookie(cookie1);

        /* 当前项目路径为：s */
        Cookie cookie2 = new Cookie("cookie2","value2");
        // 设置路径为"/s"，表示在当前项目下任何项目都可访问到Cookie对象
        cookie2.setPath("/s"); // 默认情况，可不设置path的值
        response.addCookie(cookie2);

        /*指定项目下的资源可获取cookie对象*/
        Cookie cookie3 = new Cookie("cookie3","value3");
        cookie3.setPath("/s3");
        response.addCookie(cookie3);

        /*指定目录下的资源可获取Cookie对象*/
        Cookie cookie4=new Cookie("cookie4","value4");
        cookie4.setPath("/s/cookieTime");
        response.addCookie(cookie4);
    }
}
